package org.example.erp.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 员工表
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Employee {
    /**
     * 员工编码
     */
    @TableId
    private String employeeCode;

    /**
     * 员工姓名
     */
    private String employeeName;

    /**
     * 学历
     */
    private String education;

    /**
     * 职级编码
     */
    private String rankNo;

    /**
     * 实际薪资
     */
    private BigDecimal actualSalary;

    /**
     * 性别
     */
    private String gender;

    /**
     * 联系电话
     */
    private String phone;

    /**
     * 民族
     */
    private String ethnicity;

    /**
     * 出生日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthDate;

    /**
     * 婚姻状况
     */
    private String maritalStatus;

    /**
     * 政治面貌
     */
    private String politicalStatus;

    /**
     * 身份证号
     */
    private String idNumber;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 籍贯
     */
    private String nativePlace;

    /**
     * 户口地址
     */
    private String accountAddress;

    /**
     * 户口详细地址
     */
    private String accountDetailedAddress;

    /**
     * 现居地址
     */
    private String currentAddress;

    /**
     * 现居详细地址
     */
    private String currentDetailedAddress;

    /**
     * 紧急联系人
     */
    private String emergencyContact;

    /**
     * 紧急联系电话
     */
    private String emergencyContactPhone;

    /**
     * 关系
     */
    private String relationship;

    private String column23;

    private String column24;

    private String column25;

    @TableField(exist = false)
    private Ranks ranks;
}